Autogenerated HTML docs for v1.5.3-rc1-27-ga5e40
diff --git a/git-commit-tree.html b/git-commit-tree.html index 0c73fac..cf6b69c 100644 --- a/git-commit-tree.html +++ b/git-commit-tree.html
@@ -356,7 +356,7 @@ name = "Your Name" email = "your@email.address.xz"</tt></pre> </div></div> -<p>A commit comment is read from stdin (max 999 chars). If a changelog +<p>A commit comment is read from stdin. If a changelog entry is not provided via "<" redirection, "git-commit-tree" will just wait for one to be entered and terminated with ^D.</p> </div> @@ -482,7 +482,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 16-Jun-2007 09:48:57 UTC +Last updated 15-Jul-2007 07:18:25 UTC </div> </div> </body>
diff --git a/git-commit-tree.txt b/git-commit-tree.txt index 9586b97..5870c2c 100644 --- a/git-commit-tree.txt +++ b/git-commit-tree.txt
@@ -72,7 +72,7 @@ name = "Your Name" email = "your@email.address.xz" -A commit comment is read from stdin (max 999 chars). If a changelog +A commit comment is read from stdin. If a changelog entry is not provided via "<" redirection, "git-commit-tree" will just wait for one to be entered and terminated with ^D.
diff --git a/git-fast-import.html b/git-fast-import.html index 760cecf..c537b33 100644 --- a/git-fast-import.html +++ b/git-fast-import.html
@@ -633,7 +633,7 @@ data ('from' SP <committish> LF)? ('merge' SP <committish> LF)? - (filemodify | filedelete | filerename | filedeleteall)* + (filemodify | filedelete | filecopy | filerename | filedeleteall)* LF</tt></pre> </div></div> <p>where <tt><ref></tt> is the name of the branch to make the commit on. @@ -652,13 +652,13 @@ commit message use a 0 length data. Commit messages are free-form and are not interpreted by Git. Currently they must be encoded in UTF-8, as fast-import does not permit other encodings to be specified.</p> -<p>Zero or more <tt>filemodify</tt>, <tt>filedelete</tt>, <tt>filename</tt> and -<tt>filedeleteall</tt> commands +<p>Zero or more <tt>filemodify</tt>, <tt>filedelete</tt>, <tt>filecopy</tt>, <tt>filerename</tt> +and <tt>filedeleteall</tt> commands may be included to update the contents of the branch prior to creating the commit. These commands may be supplied in any order. However it is recommended that a <tt>filedeleteall</tt> command preceed -all <tt>filemodify</tt> and <tt>filerename</tt> commands in the same commit, as -<tt>filedeleteall</tt> +all <tt>filemodify</tt>, <tt>filecopy</tt> and <tt>filerename</tt> commands in the same +commit, as <tt>filedeleteall</tt> wipes the branch clean (see below).</p> <h4><tt>author</tt></h4> <p>An <tt>author</tt> command may optionally appear, if the author information @@ -850,6 +850,23 @@ <p>here <tt><path></tt> is the complete path of the file or subdirectory to be removed from the branch. See <tt>filemodify</tt> above for a detailed description of <tt><path></tt>.</p> +<h4><tt>filecopy</tt></h4> +<p>Recursively copies an existing file or subdirectory to a different +location within the branch. The existing file or directory must +exist. If the destination exists it will be completely replaced +by the content copied from the source.</p> +<div class="literalblock"> +<div class="content"> +<pre><tt> 'C' SP <path> SP <path> LF</tt></pre> +</div></div> +<p>here the first <tt><path></tt> is the source location and the second +<tt><path></tt> is the destination. See <tt>filemodify</tt> above for a detailed +description of what <tt><path></tt> may look like. To use a source path +that contains SP the path must be quoted.</p> +<p>A <tt>filecopy</tt> command takes effect immediately. Once the source +location has been copied to the destination any future commands +applied to the source location will not impact the destination of +the copy.</p> <h4><tt>filerename</tt></h4> <p>Renames an existing file or subdirectory to a different location within the branch. The existing file or directory must exist. If @@ -866,6 +883,14 @@ location has been renamed to the destination any future commands applied to the source location will create new files there and not impact the destination of the rename.</p> +<p>Note that a <tt>filerename</tt> is the same as a <tt>filecopy</tt> followed by a +<tt>filedelete</tt> of the source location. There is a slight performance +advantage to using <tt>filerename</tt>, but the advantage is so small +that it is never worth trying to convert a delete/add pair in +source material into a rename for fast-import. This <tt>filerename</tt> +command is provided just to simplify frontends that already have +rename information and don't want bother with decomposing it into a +<tt>filecopy</tt> followed by a <tt>filedelete</tt>.</p> <h4><tt>filedeleteall</tt></h4> <p>Included in a <tt>commit</tt> command to remove all files (and also all directories) from the branch. This command resets the internal @@ -1223,7 +1248,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 10-Jul-2007 07:49:19 UTC +Last updated 15-Jul-2007 07:18:25 UTC </div> </div> </body>
diff --git a/git-fast-import.txt b/git-fast-import.txt index 80a8ee0..30ee98d 100644 --- a/git-fast-import.txt +++ b/git-fast-import.txt
@@ -302,7 +302,7 @@ data ('from' SP <committish> LF)? ('merge' SP <committish> LF)? - (filemodify | filedelete | filerename | filedeleteall)* + (filemodify | filedelete | filecopy | filerename | filedeleteall)* LF .... @@ -325,13 +325,13 @@ and are not interpreted by Git. Currently they must be encoded in UTF-8, as fast-import does not permit other encodings to be specified. -Zero or more `filemodify`, `filedelete`, `filename` and -`filedeleteall` commands +Zero or more `filemodify`, `filedelete`, `filecopy`, `filerename` +and `filedeleteall` commands may be included to update the contents of the branch prior to creating the commit. These commands may be supplied in any order. However it is recommended that a `filedeleteall` command preceed -all `filemodify` and `filerename` commands in the same commit, as -`filedeleteall` +all `filemodify`, `filecopy` and `filerename` commands in the same +commit, as `filedeleteall` wipes the branch clean (see below). `author` @@ -497,6 +497,27 @@ be removed from the branch. See `filemodify` above for a detailed description of `<path>`. +`filecopy` +^^^^^^^^^^^^ +Recursively copies an existing file or subdirectory to a different +location within the branch. The existing file or directory must +exist. If the destination exists it will be completely replaced +by the content copied from the source. + +.... + 'C' SP <path> SP <path> LF +.... + +here the first `<path>` is the source location and the second +`<path>` is the destination. See `filemodify` above for a detailed +description of what `<path>` may look like. To use a source path +that contains SP the path must be quoted. + +A `filecopy` command takes effect immediately. Once the source +location has been copied to the destination any future commands +applied to the source location will not impact the destination of +the copy. + `filerename` ^^^^^^^^^^^^ Renames an existing file or subdirectory to a different location @@ -517,6 +538,15 @@ applied to the source location will create new files there and not impact the destination of the rename. +Note that a `filerename` is the same as a `filecopy` followed by a +`filedelete` of the source location. There is a slight performance +advantage to using `filerename`, but the advantage is so small +that it is never worth trying to convert a delete/add pair in +source material into a rename for fast-import. This `filerename` +command is provided just to simplify frontends that already have +rename information and don't want bother with decomposing it into a +`filecopy` followed by a `filedelete`. + `filedeleteall` ^^^^^^^^^^^^^^^ Included in a `commit` command to remove all files (and also all